/**
 *
 * @param {*} params
 * @ajaxTimes 同时发送异步代码的次数
 * 封装接口
 */
let ajaxTimes = 0; // 解决首页三个接口同时请求的问题

export const request = (params) => {
    // 判断url中是否带有/my/  如果是 则请求的是私有的路径  带上header token
    let header = { ...params.header }; // 保证多个属性参数都可以传过来

    if (params.url.includes('/my/')) {
        header['Authorization'] = uni.getStorageSync('token');
    } // console.log(params) ...params扩展运算符  之后覆盖参数及参数值

    ajaxTimes++; // 显示加载中  效果

    uni.showLoading({
        title: '加载中',
        mask: true,
        success: (result) => {},
        fail: () => {},
        complete: () => {}
    }); // baseURL提取公共接口路径

    const baseURL = 'https://api-hmugo-web.itheima.net/api/public/v1';
    return new Promise((resolve, reject) => {
        uni.request({
            ...params,
            header: header,
            url: baseURL + params.url,
            success: (result) => {
                // resolve(result)
                resolve(result.data.message);
                console.log(result);
            },
            fail: (err) => {
                reject(err);
            },
            complete: () => {
                ajaxTimes--;

                if (ajaxTimes === 0) {
                    uni.hideLoading(); // 关闭正在等待的图标
                }
            }
        });
    });
}; // const test = {a:1,b:2,c:{ccc:'enen'}}
// const res = {...test,b:3}
// console.log(res)
// {a:1,b:3,c:{ccc:'enen'}}
